package com.easyexcel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.read.listener.ReadListener;

import java.util.Map;

/**
 * @ClassName ExcelDataListener
 * @Description: 用于读取excel数据
 * @Author: admin
 * @CreateDate: 2024/6/1 14:03
 * @UpdateUser: 更新人
 * @UpdateDate: 2024/6/1 14:03
 * @UpdateRemark: 更新的信息
 * @Version: 1.0
 */


public class ExcelDataListener implements ReadListener<UserData> {
    /**
     * 一行一行读取excel数据，是从第二行开始读取的
     * @param userData
     * @param analysisContext
     */
    @Override
    public void invoke(UserData userData, AnalysisContext analysisContext) {
        System.out.println(userData);
    }

    /**
     * 读取之后的操作，比如关闭流等
     * @param analysisContext
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        System.out.println("所有数据解析完成！");
    }

    /**
     * 读取表头
     * @param headMap
     * @param context
     */
    @Override
    public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
        System.out.println("表头：" + headMap.get(0).getStringValue()+"__"+headMap.get(1).getStringValue());
    }
}
